home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / reqtoolsdev.lha / ReqTools / include / libraries / reqtools.h < prev    next >
C/C++ Source or Header  |  1996-12-14  |  21KB  |  651 lines

  1. #ifndef LIBRARIES_REQTOOLS_H
  2. #define LIBRARIES_REQTOOLS_H
  3. /*
  4. **    $Filename: libraries/reqtools.h $
  5. **    $Release: 2.5 $
  6. **    $Revision: 38.13 $
  7. **
  8. **    reqtools.library definitions
  9. **
  10. **    (C) Copyright 1991-1994 Nico François
  11. **                  1995-1996 Magnus Homgren
  12. **    All Rights Reserved
  13. */
  14.  
  15. #ifndef    EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif    /* EXEC_TYPES_H */
  18.  
  19. #ifndef    EXEC_LISTS_H
  20. #include <exec/lists.h>
  21. #endif    /* EXEC_LISTS_H */
  22.  
  23. #ifndef    EXEC_LIBRARIES_H
  24. #include <exec/libraries.h>
  25. #endif    /* EXEC_LIBRARIES_H */
  26.  
  27. #ifndef    EXEC_SEMAPHORES_H
  28. #include <exec/semaphores.h>
  29. #endif    /* EXEC_SEMAPHORES_H */
  30.  
  31. #ifndef LIBRARIES_DOS_H
  32. #include <libraries/dos.h>
  33. #endif  /* LIBRARIES_DOS_H */
  34.  
  35. #ifndef LIBRARIES_DOSEXTENS_H
  36. #include <libraries/dosextens.h>
  37. #endif  /* LIBRARIES_DOSEXTENS_H */
  38.  
  39. #ifndef LIBRARIES_DISKFONT_H
  40. #include <libraries/diskfont.h>
  41. #endif  /* LIBRARIES_DISKFONT_H */
  42.  
  43. #ifndef    GRAPHICS_TEXT_H
  44. #include <graphics/text.h>
  45. #endif    /* GRAPHICS_TEXT_H */
  46.  
  47. #ifndef UTILITY_TAGITEM_H
  48. #include <utility/tagitem.h>
  49. #endif    /* UTILITY_TAGITEM_H */
  50.  
  51. #define    REQTOOLSNAME         "reqtools.library"
  52. #define    REQTOOLSVERSION         38L
  53.  
  54. /***********************
  55. *                      *
  56. *     Preferences      *
  57. *                      *
  58. ***********************/
  59.  
  60. #define RTPREF_FILEREQ         0L
  61. #define RTPREF_FONTREQ         1L
  62. #define RTPREF_PALETTEREQ     2L
  63. #define RTPREF_SCREENMODEREQ     3L
  64. #define RTPREF_VOLUMEREQ     4L
  65. #define RTPREF_OTHERREQ         5L
  66. #define RTPREF_NR_OF_REQ     6L
  67.  
  68. struct ReqDefaults {
  69.    ULONG Size;
  70.    ULONG ReqPos;
  71.    UWORD LeftOffset;
  72.    UWORD TopOffset;
  73.     UWORD MinEntries;
  74.     UWORD MaxEntries;
  75.    };
  76.  
  77. struct ReqToolsPrefs {
  78.    /* Size of preferences (_without_ this field and the semaphore) */
  79.    ULONG PrefsSize;
  80.    struct SignalSemaphore PrefsSemaphore;
  81.    /* Start of real preferences */
  82.    ULONG Flags;
  83.    struct ReqDefaults ReqDefaults[RTPREF_NR_OF_REQ];
  84.    };
  85.  
  86. #define RTPREFS_SIZE \
  87.    (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4)
  88.  
  89. /* Flags */
  90.  
  91. #define RTPRB_DIRSFIRST         0L
  92. #define RTPRF_DIRSFIRST         (1L<<RTPRB_DIRSFIRST)
  93. #define RTPRB_DIRSMIXED         1L
  94. #define RTPRF_DIRSMIXED         (1L<<RTPRB_DIRSMIXED)
  95. #define RTPRB_IMMSORT         2L
  96. #define RTPRF_IMMSORT         (1L<<RTPRB_IMMSORT)
  97. #define RTPRB_NOSCRTOFRONT     3L
  98. #define RTPRF_NOSCRTOFRONT     (1L<<RTPRB_NOSCRTOFRONT)
  99. #define RTPRB_NOLED         4L
  100. #define RTPRF_NOLED         (1L<<RTPRB_NOLED)
  101. #define RTPRB_DEFAULTFONT     5L
  102. #define RTPRF_DEFAULTFONT     (1L<<RTPRB_DEFAULTFONT)
  103. #define RTPRB_DOWHEEL         6L
  104. #define RTPRF_DOWHEEL         (1L<<RTPRB_DOWHEEL)
  105. #define RTPRB_FKEYS         7L
  106. #define RTPRF_FKEYS         (1L<<RTPRB_FKEYS)
  107. #define RTPRB_FANCYWHEEL     8L
  108. #define RTPRF_FANCYWHEEL     (1L<<RTPRB_FANCYWHEEL)
  109. #define RTPRB_MMBPARENT         9L
  110. #define RTPRF_MMBPARENT         (1L<<RTPRB_MMBPARENT)
  111.  
  112. /***********************
  113. *                      *
  114. *     Library Base     *
  115. *                      *
  116. ***********************/
  117.  
  118. struct ReqToolsBase {
  119.    struct Library LibNode;
  120.    UBYTE RTFlags;
  121.    UBYTE pad[3];
  122.    BPTR SegList;
  123.  
  124.    /* PUBLIC FIELDS */
  125.  
  126.    /* NOTE: Some versions of the Manx C compiler contain a bug so it gets
  127.             confused by the library bases below.  Add the rt_ prefix to the
  128.             library names to fix the problem (e.g. rt_IntuitionBase). */
  129.  
  130.    /* The following library bases may be read and used by your program */
  131.    struct IntuitionBase *IntuitionBase;
  132.    struct GfxBase *GfxBase;
  133.    struct DosLibrary *DOSBase;
  134.    /* Next two library bases are only (and always) valid on Kickstart 2.0!
  135.       (1.3 version of reqtools also initializes these when run on 2.0) */
  136.    struct Library *GadToolsBase;
  137.    struct Library *UtilityBase;
  138.  
  139.    /* PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE! */
  140.  
  141.    /* The RealOpenCnt is for the buffered AvailFonts feature.  Since
  142.       Kickstart 3.0 offers low memory handlers a release of ReqTools for 3.0
  143.       will not use this field and start using the normal OpenCnt again. */
  144.    UWORD RealOpenCnt;
  145.    UWORD AvailFontsLock;
  146.    struct AvailFontsHeader *AvailFontsHeader;
  147.    ULONG FontsAssignType;
  148.    BPTR FontsAssignLock;
  149.    struct AssignList *FontsAssignList;
  150.    struct ReqToolsPrefs ReqToolsPrefs;
  151.    UWORD prefspad;
  152.    };
  153.  
  154. /* types of requesters, for rtAllocRequestA() */
  155. #define RT_FILEREQ         0L
  156. #define RT_REQINFO         1L
  157. #define RT_FONTREQ         2L
  158. /* (V38) */
  159. #define RT_SCREENMODEREQ     3L
  160.  
  161. /***********************
  162. *                      *
  163. *    File requester    *
  164. *                      *
  165. ***********************/
  166.  
  167. /* structure _MUST_ be allocated with rtAllocRequest() */
  168.  
  169. struct rtFileRequester {
  170.    ULONG ReqPos;
  171.    UWORD LeftOffset;
  172.    UWORD TopOffset;
  173.    ULONG Flags;
  174.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  175.    /* */
  176.    char  *Dir;             /* READ ONLY! Change with rtChangeReqAttrA()! */
  177.    char  *MatchPat;         /* READ ONLY! Change with rtChangeReqAttrA()! */
  178.    /* */
  179.    struct TextFont *DefaultFont;
  180.    ULONG WaitPointer;
  181.    /* (V38) */
  182.    ULONG LockWindow;
  183.    ULONG ShareIDCMP;
  184.    struct Hook *IntuiMsgFunc;
  185.    UWORD reserved1;
  186.    UWORD reserved2;
  187.    UWORD reserved3;
  188.    UWORD ReqHeight;         /* READ ONLY!  Use RTFI_Height tag! */
  189.    /* Private data follows! HANDS OFF :-) */
  190.    };
  191.  
  192. /* returned by rtFileRequestA() if multiselect is enabled,
  193.    free list with rtFreeFileList() */
  194.  
  195. struct rtFileList {
  196.    struct rtFileList *Next;
  197.    ULONG StrLen;         /* -1 for directories */
  198.    char *Name;
  199.    };
  200.  
  201. /* structure passed to RTFI_FilterFunc callback hook by
  202.    volume requester (see RTFI_VolumeRequest tag) */
  203.  
  204. struct rtVolumeEntry {
  205.    ULONG Type;             /* DLT_DEVICE or DLT_DIRECTORY */
  206.    char *Name;
  207.    };
  208.  
  209. /***********************
  210. *                      *
  211. *    Font requester    *
  212. *                      *
  213. ***********************/
  214.  
  215. /* structure _MUST_ be allocated with rtAllocRequest() */
  216.  
  217. struct rtFontRequester {
  218.    ULONG ReqPos;
  219.    UWORD LeftOffset;
  220.    UWORD TopOffset;
  221.    ULONG Flags;
  222.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  223.    /* */
  224.    struct TextAttr Attr;     /* READ ONLY! */
  225.    /* */
  226.    struct TextFont *DefaultFont;
  227.    ULONG WaitPointer;
  228.    /* (V38) */
  229.    ULONG LockWindow;
  230.    ULONG ShareIDCMP;
  231.    struct Hook *IntuiMsgFunc;
  232.    UWORD reserved1;
  233.    UWORD reserved2;
  234.    UWORD reserved3;
  235.    UWORD ReqHeight;         /* READ ONLY!  Use RTFO_Height tag! */
  236.    /* Private data follows! HANDS OFF :-) */
  237.    };
  238.  
  239. /*************************
  240. *                        *
  241. *  ScreenMode requester  *
  242. *                        *
  243. *************************/
  244.  
  245. /* structure _MUST_ be allocated with rtAllocRequest() */
  246.  
  247. struct rtScreenModeRequester {
  248.    ULONG ReqPos;
  249.    UWORD LeftOffset;
  250.    UWORD TopOffset;
  251.    ULONG Flags;
  252.    ULONG private1;
  253.    /* */
  254.    ULONG DisplayID;         /* READ ONLY! */
  255.    UWORD DisplayWidth;         /* READ ONLY! */
  256.    UWORD DisplayHeight;         /* READ ONLY! */
  257.    /* */
  258.    struct TextFont *DefaultFont;
  259.    ULONG WaitPointer;
  260.    ULONG LockWindow;
  261.    ULONG ShareIDCMP;
  262.    struct Hook *IntuiMsgFunc;
  263.    UWORD reserved1;
  264.    UWORD reserved2;
  265.    UWORD reserved3;
  266.    UWORD ReqHeight;         /* READ ONLY!  Use RTSC_Height tag! */
  267.    /* */
  268.    UWORD DisplayDepth;         /* READ ONLY! */
  269.    UWORD OverscanType;         /* READ ONLY! */
  270.    ULONG AutoScroll;         /* READ ONLY! */
  271.    /* Private data follows! HANDS OFF :-) */
  272.    };
  273.  
  274. /***********************
  275. *                      *
  276. *    Requester Info    *
  277. *                      *
  278. ***********************/
  279.  
  280. /* for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
  281.    _MUST_ be allocated with rtAllocRequest() */
  282.  
  283. struct rtReqInfo {
  284.    ULONG ReqPos;
  285.    UWORD LeftOffset;
  286.    UWORD TopOffset;
  287.    ULONG Width;             /* not for rtEZRequestA() */
  288.    char *ReqTitle;         /* currently only for rtEZRequestA() */
  289.    ULONG Flags;
  290.    struct TextFont *DefaultFont; /* currently only for rtPaletteRequestA() */
  291.    ULONG WaitPointer;
  292.    /* (V38) */
  293.    ULONG LockWindow;
  294.    ULONG ShareIDCMP;
  295.    struct Hook *IntuiMsgFunc;
  296.    /* structure may be extended in future */
  297.    };
  298.  
  299. /***********************
  300. *                      *
  301. *     Handler Info     *
  302. *                      *
  303. ***********************/
  304.  
  305. /* for rtReqHandlerA(), will be allocated for you when you use
  306.    the RT_ReqHandler tag, never try to allocate this yourself! */
  307.  
  308. struct rtHandlerInfo {
  309.    ULONG private1;
  310.    ULONG WaitMask;
  311.    ULONG DoNotWait;
  312.    /* Private data follows, HANDS OFF :-) */
  313.    };
  314.  
  315. /* possible return codes from rtReqHandlerA() */
  316.  
  317. #define CALL_HANDLER         (ULONG)0x80000000
  318.  
  319.  
  320. /*************************************
  321. *                                    *
  322. *                TAGS                *
  323. *                                    *
  324. *************************************/
  325.  
  326. #define RT_TagBase         TAG_USER
  327.  
  328. /*** tags understood by most requester functions ***
  329. */
  330. /* optional pointer to window */
  331. #define RT_Window         (RT_TagBase+1)
  332. /* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) */
  333. #define RT_IDCMPFlags         (RT_TagBase+2)
  334. /* position of requester window (see below) - default REQPOS_POINTER */
  335. #define RT_ReqPos         (RT_TagBase+3)
  336. /* leftedge offset of requester relative to position specified by RT_ReqPos */
  337. #define RT_LeftOffset         (RT_TagBase+4)
  338. /* topedge offset of requester relative to position specified by RT_ReqPos */
  339. #define RT_TopOffset         (RT_TagBase+5)
  340. /* name of public screen to put requester on (Kickstart 2.0 only!) */
  341. #define RT_PubScrName         (RT_TagBase+6)
  342. /* address of screen to put requester on */
  343. #define RT_Screen         (RT_TagBase+7)
  344. /* tagdata must hold the address of (!) an APTR variable */
  345. #define RT_ReqHandler         (RT_TagBase+8)
  346. /* font to use when screen font is rejected, _MUST_ be fixed-width font!
  347.    (struct TextFont *, not struct TextAttr *!)
  348.    - default GfxBase->DefaultFont */
  349. #define RT_DefaultFont         (RT_TagBase+9)
  350. /* boolean to set the standard wait pointer in window - default FALSE */
  351. #define RT_WaitPointer         (RT_TagBase+10)
  352. /* (V38) char preceding keyboard shortcut characters (will be underlined) */
  353. #define RT_Underscore         (RT_TagBase+11)
  354. /* (V38) share IDCMP port with window - default FALSE */
  355. #define RT_ShareIDCMP         (RT_TagBase+12)
  356. /* (V38) lock window and set standard wait pointer - default FALSE */
  357. #define RT_LockWindow         (RT_TagBase+13)
  358. /* (V38) boolean to make requester's screen pop to front - default TRUE */
  359. #define RT_ScreenToFront     (RT_TagBase+14)
  360. /* (V38) Requester should use this font - default: screen font */
  361. #define RT_TextAttr         (RT_TagBase+15)
  362. /* (V38) call this hook for every IDCMP message not for requester */
  363. #define RT_IntuiMsgFunc         (RT_TagBase+16)
  364. /* (V38) Locale ReqTools should use for text */
  365. #define RT_Locale         (RT_TagBase+17)
  366.  
  367. /*** tags specific to rtEZRequestA ***
  368. */
  369. /* title of requester window - english default "Request" or "Information" */
  370. #define RTEZ_ReqTitle         (RT_TagBase+20)
  371. /* (RT_TagBase+21) reserved */
  372. /* various flags (see below) */
  373. #define RTEZ_Flags         (RT_TagBase+22)
  374. /* default response (activated by pressing RETURN) - default TRUE */
  375. #define RTEZ_DefaultResponse     (RT_TagBase+23)
  376.  
  377. /*** tags specific to rtGetLongA ***
  378. */
  379. /* minimum allowed value - default MININT */
  380. #define RTGL_Min         (RT_TagBase+30)
  381. /* maximum allowed value - default MAXINT */
  382. #define RTGL_Max         (RT_TagBase+31)
  383. /* suggested width of requester window (in pixels) */
  384. #define RTGL_Width         (RT_TagBase+32)
  385. /* boolean to show the default value - default TRUE */
  386. #define RTGL_ShowDefault     (RT_TagBase+33)
  387. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  388. #define RTGL_GadFmt          (RT_TagBase+34)
  389. /* (V38) optional arguments for RTGL_GadFmt */
  390. #define RTGL_GadFmtArgs         (RT_TagBase+35)
  391. /* (V38) invisible typing - default FALSE */
  392. #define RTGL_Invisible         (RT_TagBase+36)
  393. /* (V38) window backfill - default TRUE */
  394. #define RTGL_BackFill         (RT_TagBase+37)
  395. /* (V38) optional text above gadget */
  396. #define RTGL_TextFmt         (RT_TagBase+38)
  397. /* (V38) optional arguments for RTGS_TextFmt */
  398. #define RTGL_TextFmtArgs     (RT_TagBase+39)
  399. /* (V38) Center text - default FALSE */
  400. #define RTGL_CenterText         (RT_TagBase+100)
  401. /* (V38) various flags (see below) */
  402. #define RTGL_Flags         RTEZ_Flags
  403.  
  404. /*** tags specific to rtGetStringA ***
  405. */
  406. /* suggested width of requester window (in pixels) */
  407. #define RTGS_Width         RTGL_Width
  408. /* allow empty string to be accepted - default FALSE */
  409. #define RTGS_AllowEmpty         (RT_TagBase+80)
  410. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  411. #define RTGS_GadFmt          RTGL_GadFmt
  412. /* (V38) optional arguments for RTGS_GadFmt */
  413. #define RTGS_GadFmtArgs         RTGL_GadFmtArgs
  414. /* (V38) invisible typing - default FALSE */
  415. #define RTGS_Invisible         RTGL_Invisible
  416. /* (V38) window backfill - default TRUE */
  417. #define RTGS_BackFill         RTGL_BackFill
  418. /* (V38) optional text above gadget */
  419. #define RTGS_TextFmt         RTGL_TextFmt
  420. /* (V38) optional arguments for RTGS_TextFmt */
  421. #define RTGS_TextFmtArgs     RTGL_TextFmtArgs
  422. /* (V38) Center text - default FALSE */
  423. #define RTGS_CenterText         RTGL_CenterText
  424. /* (V38) various flags (see below) */
  425. #define RTGS_Flags         RTEZ_Flags
  426.  
  427. /*** tags specific to rtFileRequestA ***
  428. */
  429. /* various flags (see below) */
  430. #define RTFI_Flags         (RT_TagBase+40)
  431. /* suggested height of file requester */
  432. #define RTFI_Height         (RT_TagBase+41)
  433. /* replacement text for 'Ok' gadget (max 6 chars) */
  434. #define RTFI_OkText         (RT_TagBase+42)
  435. /* (V38) bring up volume requester, tag data holds flags (see below) */
  436. #define RTFI_VolumeRequest     (RT_TagBase+43)
  437. /* (V38) call this hook for every file in the directory */
  438. #define RTFI_FilterFunc         (RT_TagBase+44)
  439. /* (V38) allow empty file to be accepted - default FALSE */
  440. #define RTFI_AllowEmpty         (RT_TagBase+45)
  441.  
  442. /*** tags specific to rtFontRequestA ***
  443. */
  444. /* various flags (see below) */
  445. #define RTFO_Flags         RTFI_Flags
  446. /* suggested height of font requester */
  447. #define RTFO_Height         RTFI_Height
  448. /* replacement text for 'Ok' gadget (max 6 chars) */
  449. #define RTFO_OkText         RTFI_OkText
  450. /* suggested height of font sample display - default 24 */
  451. #define RTFO_SampleHeight     (RT_TagBase+60)
  452. /* minimum height of font displayed */
  453. #define RTFO_MinHeight         (RT_TagBase+61)
  454. /* maximum height of font displayed */
  455. #define RTFO_MaxHeight         (RT_TagBase+62)
  456. /* [(RT_TagBase+63) to (RT_TagBase+66) used below] */
  457. /* (V38) call this hook for every font */
  458. #define RTFO_FilterFunc         RTFI_FilterFunc
  459.  
  460. /*** (V38) tags for rtScreenModeRequestA ***
  461. */
  462. /* various flags (see below) */
  463. #define RTSC_Flags         RTFI_Flags
  464. /* suggested height of screenmode requester */
  465. #define RTSC_Height         RTFI_Height
  466. /* replacement text for 'Ok' gadget (max 6 chars) */
  467. #define RTSC_OkText         RTFI_OkText
  468. /* property flags (see also RTSC_PropertyMask) */
  469. #define RTSC_PropertyFlags     (RT_TagBase+90)
  470. /* property mask - default all bits in RTSC_PropertyFlags considered */
  471. #define RTSC_PropertyMask     (RT_TagBase+91)
  472. /* minimum display width allowed */
  473. #define RTSC_MinWidth         (RT_TagBase+92)
  474. /* maximum display width allowed */
  475. #define RTSC_MaxWidth         (RT_TagBase+93)
  476. /* minimum display height allowed */
  477. #define RTSC_MinHeight         (RT_TagBase+94)
  478. /* maximum display height allowed */
  479. #define RTSC_MaxHeight         (RT_TagBase+95)
  480. /* minimum display depth allowed */
  481. #define RTSC_MinDepth         (RT_TagBase+96)
  482. /* maximum display depth allowed */
  483. #define RTSC_MaxDepth         (RT_TagBase+97)
  484. /* call this hook for every display mode id */
  485. #define RTSC_FilterFunc         RTFI_FilterFunc
  486.  
  487. /*** tags for rtChangeReqAttrA ***
  488. */
  489. /* file requester - set directory */
  490. #define RTFI_Dir         (RT_TagBase+50)
  491. /* file requester - set wildcard pattern */
  492. #define RTFI_MatchPat         (RT_TagBase+51)
  493. /* file requester - add a file or directory to the buffer */
  494. #define RTFI_AddEntry         (RT_TagBase+52)
  495. /* file requester - remove a file or directory from the buffer */
  496. #define RTFI_RemoveEntry     (RT_TagBase+53)
  497. /* font requester - set font name of selected font */
  498. #define RTFO_FontName         (RT_TagBase+63)
  499. /* font requester - set font size */
  500. #define RTFO_FontHeight         (RT_TagBase+64)
  501. /* font requester - set font style */
  502. #define RTFO_FontStyle         (RT_TagBase+65)
  503. /* font requester - set font flags */
  504. #define RTFO_FontFlags         (RT_TagBase+66)
  505. /* (V38) screenmode requester - get display attributes from screen */
  506. #define RTSC_ModeFromScreen     (RT_TagBase+80)
  507. /* (V38) screenmode requester - set display mode id (32-bit extended) */
  508. #define RTSC_DisplayID         (RT_TagBase+81)
  509. /* (V38) screenmode requester - set display width */
  510. #define RTSC_DisplayWidth     (RT_TagBase+82)
  511. /* (V38) screenmode requester - set display height */
  512. #define RTSC_DisplayHeight     (RT_TagBase+83)
  513. /* (V38) screenmode requester - set display depth */
  514. #define RTSC_DisplayDepth     (RT_TagBase+84)
  515. /* (V38) screenmode requester - set overscan type, 0 for regular size */
  516. #define RTSC_OverscanType     (RT_TagBase+85)
  517. /* (V38) screenmode requester - set autoscroll */
  518. #define RTSC_AutoScroll         (RT_TagBase+86)
  519.  
  520. /*** tags for rtPaletteRequestA ***
  521. */
  522. /* initially selected color - default 1 */
  523. #define RTPA_Color         (RT_TagBase+70)
  524.  
  525. /*** tags for rtReqHandlerA ***
  526. */
  527. /* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
  528.    in case of rtEZRequest to the return value */
  529. #define RTRH_EndRequest         (RT_TagBase+60)
  530.  
  531. /*** tags for rtAllocRequestA ***/
  532. /* no tags defined yet */
  533.  
  534.  
  535. /************
  536. * RT_ReqPos *
  537. ************/
  538. #define REQPOS_POINTER         0L
  539. #define REQPOS_CENTERWIN     1L
  540. #define REQPOS_CENTERSCR     2L
  541. #define REQPOS_TOPLEFTWIN     3L
  542. #define REQPOS_TOPLEFTSCR     4L
  543.  
  544. /******************
  545. * RTRH_EndRequest *
  546. ******************/
  547. #define REQ_CANCEL         0L
  548. #define REQ_OK             1L
  549.  
  550. /***************************************
  551. * flags for RTFI_Flags and RTFO_Flags  *
  552. * or filereq->Flags and fontreq->Flags *
  553. ***************************************/
  554. #define FREQB_NOBUFFER         2L
  555. #define FREQF_NOBUFFER         (1L<<FREQB_NOBUFFER)
  556.  
  557. /*****************************************
  558. * flags for RTFI_Flags or filereq->Flags *
  559. *****************************************/
  560. #define FREQB_MULTISELECT     0L
  561. #define FREQF_MULTISELECT     (1L<<FREQB_MULTISELECT)
  562. #define FREQB_SAVE         1L
  563. #define FREQF_SAVE         (1L<<FREQB_SAVE)
  564. #define FREQB_NOFILES         3L
  565. #define FREQF_NOFILES         (1L<<FREQB_NOFILES)
  566. #define FREQB_PATGAD         4L
  567. #define FREQF_PATGAD         (1L<<FREQB_PATGAD)
  568. #define FREQB_SELECTDIRS     12L
  569. #define FREQF_SELECTDIRS     (1L<<FREQB_SELECTDIRS)
  570.  
  571. /*****************************************
  572. * flags for RTFO_Flags or fontreq->Flags *
  573. *****************************************/
  574. #define FREQB_FIXEDWIDTH     5L
  575. #define FREQF_FIXEDWIDTH     (1L<<FREQB_FIXEDWIDTH)
  576. #define FREQB_COLORFONTS     6L
  577. #define FREQF_COLORFONTS     (1L<<FREQB_COLORFONTS)
  578. #define FREQB_CHANGEPALETTE     7L
  579. #define FREQF_CHANGEPALETTE     (1L<<FREQB_CHANGEPALETTE)
  580. #define FREQB_LEAVEPALETTE     8L
  581. #define FREQF_LEAVEPALETTE     (1L<<FREQB_LEAVEPALETTE)
  582. #define FREQB_SCALE         9L
  583. #define FREQF_SCALE         (1L<<FREQB_SCALE)
  584. #define FREQB_STYLE         10L
  585. #define FREQF_STYLE         (1L<<FREQB_STYLE)
  586.  
  587. /*****************************************************
  588. * (V38) flags for RTSC_Flags or screenmodereq->Flags *
  589. *****************************************************/
  590. #define SCREQB_SIZEGADS         13L
  591. #define SCREQF_SIZEGADS         (1L<<SCREQB_SIZEGADS)
  592. #define SCREQB_DEPTHGAD         14L
  593. #define SCREQF_DEPTHGAD         (1L<<SCREQB_DEPTHGAD)
  594. #define SCREQB_NONSTDMODES     15L
  595. #define SCREQF_NONSTDMODES     (1L<<SCREQB_NONSTDMODES)
  596. #define SCREQB_GUIMODES         16L
  597. #define SCREQF_GUIMODES         (1L<<SCREQB_GUIMODES)
  598. #define SCREQB_AUTOSCROLLGAD     18L
  599. #define SCREQF_AUTOSCROLLGAD     (1L<<SCREQB_AUTOSCROLLGAD)
  600. #define SCREQB_OVERSCANGAD     19L
  601. #define SCREQF_OVERSCANGAD     (1L<<SCREQB_OVERSCANGAD)
  602.  
  603. /*****************************************
  604. * flags for RTEZ_Flags or reqinfo->Flags *
  605. *****************************************/
  606. #define EZREQB_NORETURNKEY     0L
  607. #define EZREQF_NORETURNKEY     (1L<<EZREQB_NORETURNKEY)
  608. #define EZREQB_LAMIGAQUAL     1L
  609. #define EZREQF_LAMIGAQUAL     (1L<<EZREQB_LAMIGAQUAL)
  610. #define EZREQB_CENTERTEXT     2L
  611. #define EZREQF_CENTERTEXT     (1L<<EZREQB_CENTERTEXT)
  612.  
  613. /***********************************************
  614. * (V38) flags for RTGL_Flags or reqinfo->Flags *
  615. ***********************************************/
  616. #define GLREQB_CENTERTEXT     EZREQB_CENTERTEXT
  617. #define GLREQF_CENTERTEXT     EZREQF_CENTERTEXT
  618. #define GLREQB_HIGHLIGHTTEXT     3L
  619. #define GLREQF_HIGHLIGHTTEXT     (1L<<GLREQB_HIGHLIGHTTEXT)
  620.  
  621. /***********************************************
  622. * (V38) flags for RTGS_Flags or reqinfo->Flags *
  623. ***********************************************/
  624. #define GSREQB_CENTERTEXT     EZREQB_CENTERTEXT
  625. #define GSREQF_CENTERTEXT     EZREQF_CENTERTEXT
  626. #define GSREQB_HIGHLIGHTTEXT     GLREQB_HIGHLIGHTTEXT
  627. #define GSREQF_HIGHLIGHTTEXT     GLREQF_HIGHLIGHTTEXT
  628.  
  629. /*****************************************
  630. * (V38) flags for RTFI_VolumeRequest tag *
  631. *****************************************/
  632. #define VREQB_NOASSIGNS         0L
  633. #define VREQF_NOASSIGNS         (1L<<VREQB_NOASSIGNS)
  634. #define VREQB_NODISKS         1L
  635. #define VREQF_NODISKS         (1L<<VREQB_NODISKS)
  636. #define VREQB_ALLDISKS         2L
  637. #define VREQF_ALLDISKS         (1L<<VREQB_ALLDISKS)
  638.  
  639. /*
  640.    Following things are obsolete in ReqTools V38.
  641.    DON'T USE THESE IN NEW CODE!
  642. */
  643. #ifndef NO_REQTOOLS_OBSOLETE
  644. #define REQHOOK_WILDFILE 0L
  645. #define REQHOOK_WILDFONT 1L
  646. #define FREQB_DOWILDFUNC 11L
  647. #define FREQF_DOWILDFUNC (1L<<FREQB_DOWILDFUNC)
  648. #endif
  649.  
  650. #endif /* LIBRARIES_REQTOOLS_H */
  651.